1. Field of the Invention
The present invention relates to the field of controlling the use of computer programs and more particularly to the field of managing the availability of licenses for computer programs on nodes connected in a network.
2. Description of the Prior Art
In the past, various attempts have been made to prevent unauthorized copying and use of computer programs. So-called copy protection methods and devices were developed to control use of a computer program on a stand-alone computer, such as a personal computer (PC). Such PC would include a CPU, system memory and, optionally, a disk storage device such as a disk drive, referred to simply as a disk. In general, there are limitations when such copy protection is used and many PC's ,are connected together by a network link to form a computer network.
When PC's are connected together to form a network, the PC's can be called nodes of that network. Such network can also include a file server, which functions as a central, master controller of system data, including the availability of a computer program for use at a given node. Some file server systems cause an application program to check the serial number on the file server on which it is running. For example, in "Software Protection," an article by Doug and Dale Cabell published in Micro Communications, Vol. 2, No. 5, May, 1985, p. 35-37, it is noted that the application program checks the serial number by making a special network call and comparing the result with the expected response. The application program receives a completion code if the numbers match. To prevent the application program from running if the numbers do not match, the user is logged off the network.
Other systems that control the running of computer programs require a specific hardware board on a node on which the computer program is to run. The applicability of such systems is thus limited to workstations that have the required hardware board. One hardware-based copy protection approach includes an identifying code in the hardware board at a given node and requires the protected computer program to carry a matching code in order to function at that node. Such approach solves the copy protection problem with respect to the computer program since an unauthorized copy would not have an identifying code that matches the identifying code of the workstation's hardware board. However, such copy protection approach doesn't address the situation in which the demand for running copies of the computer program simultaneously is in excess of the number of authorized licenses for such computer program, where the authorized number can be executed on any of the nodes of the network.
Even though these and other methods and systems have been proposed, the literature indicates that users are still experiencing problems in the use of networks in which limitations are placed on how many copies of a given computer program may run simultaneously on the network.